package com.gateway.security.endpoint;

import com.gateway.security.common.authentication.client.ClientAuthenticationToken;
import com.gateway.security.config.SecurityConfig;
import reactor.core.publisher.Mono;

import java.util.Map;

/**
 * @program: api-gateway
 * @description:
 * @author: YuKai Fan
 * @create: 2025/2/10 23:44
 **/
public interface TokenEndpointService {

    /**
     * 获取认证信息
     * @param authenticationToken
     * @return
     */
    Mono<Map<String, Object>> getClaims(ClientAuthenticationToken authenticationToken);

    /**
     * 刷新缓存
     * @param securityConfig
     */
    void refreshCache(SecurityConfig securityConfig);
}
